﻿using System;
using System.Collections.Generic;
using System.Data;
using KylinORM.Utils;
using KylinORM.Aspect.Definition;

namespace KylinORM.Mapper.Base
{
    /// <summary>
    /// 标记对象是否支持OR映射
    /// </summary>
    public interface IMapper
    {
        /// <summary>
        /// 目标实体的名称
        /// </summary>
        EntityInfo EntityInfo { get; }
        /// <summary>
        /// 目标实体的属性列表
        /// </summary>
        ReadonlyOrderedDictionary<EntityFieldInfo> EntityFieldInfos { get; }
        /// <summary>
        /// 返回实体属性值
        /// </summary>
        /// <param name="fieldName"></param>
        /// <returns></returns>
        object this[string fieldName] { get; set; }
    }

}
